Skip to content

Implement guidellm UI #169

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 109 commits into
base: main
Choose a base branch
from
Open

Implement guidellm UI #169

wants to merge 109 commits into from

Conversation

DaltheCow
Copy link
Contributor

This PR actually implements the application logic including the UI/charts and the api setup that retrieves data from the window object.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15568356040/artifacts/3299556892.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15568418107/artifacts/3299580229.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15570009715/artifacts/3300210069.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15570409929/artifacts/3300370622.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15570465704/artifacts/3300394494.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15570855701/artifacts/3300544190.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15570940411/artifacts/3300579696.
They will be retained for up to 30 days.

Base automatically changed from implement-app-tooling to main June 11, 2025 11:08

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15586746288/artifacts/3305828197.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15587058126/artifacts/3305949563.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15593560473/artifacts/3308527511.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15593608740/artifacts/3308546054.
They will be retained for up to 30 days.

@markurtz markurtz requested review from Copilot and markurtz and removed request for Copilot June 17, 2025 12:45

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15707606949/artifacts/3345113057.
They will be retained for up to 30 days.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements the GuideLLM UI by wiring in React components, injecting window-sourced data scripts, and updating environment, asset, and testing configurations.

  • Integrate new UI components (PageHeader, WorkloadDetails, MetricsSummary, WorkloadMetrics) into the main page layout
  • Inject runInfoScript, workloadDetailsScript, and benchmarksScript into the root layout’s <head>
  • Update .env files, package.json scripts/dependencies, asset imports, and testing setup for the UI

Reviewed Changes

Copilot reviewed 207 out of 207 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/ui/app/page.tsx Replaced placeholder Typography with real UI components
src/ui/app/not-found.tsx Added custom 404 page
src/ui/app/layout.tsx Inject window-data scripts into <head> and update favicon format
src/ui/app/assets/icons/index.tsx Imported new PNG icons and reordered exports
src/ui/.env.staging, .env.production, .env.local, .env.example, .env.development Added environment variable templates
src/guidellm/benchmark/benchmark.py Inlined list comprehension for iter_counts
package.json Added "type": "module", updated scripts, dependencies, optionalDependencies
jest.setup.ts Polyfilled fetch and mocked Nivo modules
jest.config.cjs Disabled default coverage, adjusted reporters
eslint.config.js Introduced new Flat ESLint configuration
cypress.config.ts Minor comment adjustment on baseUrl
README.md Documented GuideLLM UI usage and development notes
DEVELOPING.md Added install instructions and test tagging guidelines
.prettierignore Updated ignore rule for ESLint config
.husky/pre-commit Enabled lint-staged pre-commit hook
.eslintrc.json Removed outdated ESLint config
Comments suppressed due to low confidence (5)

src/ui/app/assets/icons/index.tsx:5

  • [nitpick] Icon exports should follow PascalCase (e.g., GuideLLMIconDark) to remain consistent with other component names.
import guideLLMIconDark from './guidellm-icon-dark.png';

jest.setup.ts:4

  • Mocks for newly added Nivo modules (@nivo/scales, @nivo/tooltip) should be added here to prevent import errors during tests.
jest.mock('@nivo/bar');

jest.config.cjs:9

  • Coverage collection is disabled by default; consider enabling collectCoverage to ensure UI test coverage metrics are maintained.
  collectCoverage: false,

README.md:172

  • [nitpick] Move 'This option is useful if:' to its own line under the heading to improve markdown readability.
2. Build and Serve the UI Locally (For Development) This option is useful if:

DEVELOPING.md:258

  • Swap link text and URL for proper Markdown syntax: [jest-runner-groups](https://www.npmjs.com/package/jest-runner-groups).
Reference [https://www.npmjs.com/package/jest-runner-groups](jest-runner-groups) Add @group with the tag in a docblock at the top of the test file to indicate which types of tests are contained within. Can't distinguish between different types of tests in the same file.

Comment on lines +37 to +41
{/* <script
dangerouslySetInnerHTML={{
__html: 'window.run_info = {}; window.workload_details = {}; window.benchmarks = {};',
}}
/> */}
Copy link
Preview

Copilot AI Jun 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Remove this commented-out initialization script block if it's no longer needed to keep the code clean.

Suggested change
{/* <script
dangerouslySetInnerHTML={{
__html: 'window.run_info = {}; window.workload_details = {}; window.benchmarks = {};',
}}
/> */}
// Removed the commented-out script block for code cleanliness.

Copilot uses AI. Check for mistakes.

req.output_tokens
for req in total_with_output_first
],
iter_counts=[req.output_tokens for req in total_with_output_first],
Copy link
Preview

Copilot AI Jun 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider extracting this comprehension into a named variable or formatting it across multiple lines to improve readability for long statements.

Copilot uses AI. Check for mistakes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI Front-end workstream
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants